import type { VueComType } from './common.ts';
export interface BaseProps {
    id: string,
    isShow: boolean,
    name: string,
    editCom: VueComType,
}

export type StringStatusArr = string[];
export type ValueStatusArr = Array<{ value: string, status: string }>
export type PicTitleDescStatusArr = Array<{ picTitle: string, picDesc: string, value: string }>

export interface TextProps extends BaseProps {
    status: string
}



export interface OptionsProps extends BaseProps {
    status: OptionsStatusArr,
    currentStatus: number
}

export interface BaseStatus {
    title: TextProps,
    desc: TextProps,
    position: OptionsProps,
    titleSize: OptionsProps,
    titleWeight: OptionsProps,
    descSize: OptionsProps,
    descWeight: OptionsProps,
    titleItalic: OptionsProps,
    descItalic: OptionsProps,
    titleColor: TextProps,
    descColor: TextProps
}

export interface OptionsStatus extends BaseStatus {
    options: OptionsProps
}

export type OptionsStatusArr = StringStatusArr | ValueStatusArr | PicTitleDescStatusArr;

export function isStringArray(status: OptionsProps) {
    return Array.isArray(status) && (typeof status[0] === 'string');
}


